Reducing bandwidth requirements of virtual collaboration sessions

ABSTRACT

A computer-implemented method, a computer system and a computer program product reduce bandwidth requirements of a virtual collaboration session. The method includes capturing session data from a virtual collaboration session. The session data is selected from a group consisting of video data, audio data, an image of a screen of a connected device and text data. The method also includes connecting to a live blog platform. The method further includes transmitting a text transcription of the virtual collaboration session to the live blog platform. The text transcription is generated by scanning the audio data using a speech-to-text algorithm. In addition, the method includes classifying a topic in the virtual collaboration session based on importance. Lastly, the method includes transmitting a multimedia file related to the topic to the live blog platform in response to the topic being classified as important. The multimedia file is extracted from the session data.

BACKGROUND

Embodiments relate generally to virtual collaboration sessions, and morespecifically, to reducing the bandwidth requirements for thoseparticipants in virtual collaboration sessions that may have resourcerestrictions.

In a world transitioning to professional and classroom environments, aswell as personal settings, that are more geographically diverse,collaboration with others in these settings may become more dependent onusing videotelephony services that utilize the Internet. Videotelephonymay enable the reception and transmission of audio-video signals byusers in different locations, thereby providing a means to communicatevideo and voice between people in real time. Each participant in avirtual collaboration session may communicate a video image ofthemselves along with audio of their voice using a computing device suchas a smart phone, tablet computing device, or personal computer, amongother devices. Each participant attending a virtual meeting mayparticipate from any location, including from an office or a home, amongother locations. For homes or other environments that may havechallenges with the bandwidth needed to fully access these sessions,so-called “live blogging” by some participants that may be seen by otherparticipants may become popular to allow those participants to fullyengage in the session.

SUMMARY

An embodiment is directed to a computer-implemented method for reducingbandwidth requirements of a virtual collaboration session. The methodmay include capturing session data from a virtual collaboration session.In this embodiment, the session data is selected from a group consistingof video data, audio data, text data and an image of a screen of aconnected device. The method may also include connecting to a live blogplatform. The method may further include transmitting a texttranscription of the virtual collaboration session to the live blogplatform. In this embodiment, the text transcription is generated byscanning the audio data of the virtual collaboration session using aspeech-to-text algorithm. In addition, the method may includeclassifying a topic in the virtual collaboration session based onimportance. Lastly, the method may include transmitting a multimediafile related to the topic to the live blog platform in response to thetopic being classified as important. In this embodiment, the multimediafile is extracted from the session data.

In another embodiment, the method may include transmitting the textmessages to the virtual collaboration session in response to receivingtext messages from the live blog platform.

In a further embodiment, classifying the topic may include scanning thetext transcription being transmitted to the live blog platform using anatural language processing algorithm. The method may also includeclassifying the topic as important in response to detecting specificphrases in the text transcription.

In yet another embodiment, classifying the topic may include extractinga video frame from the session data. The method may also includescanning the video frame using an object recognition algorithm. Lastly,the method may include classifying the topic as important in response todetecting specific objects in the video frame.

In an embodiment, transmitting the multimedia file related to the topicto the live blog platform may include determining a connection speed tothe live blog platform and transmitting the multimedia file in responseto the connection speed being above a threshold.

In another embodiment, transmitting the multimedia file related to thetopic to the live blog platform may include determining a differencebetween the multimedia file extracted from the session data and filestransmitted at a prior time by comparing the multimedia file to thefiles and transmitting the multimedia file in response to a differenceabove a threshold.

In yet another embodiment, generating the text transcription of thevirtual collaboration session may include scanning the audio data of thevirtual collaboration session with an automatic voice recognitionalgorithm. In this embodiment, the audio data includes a plurality ofutterances. The method may also include identifying a speaker for eachutterance and associating the speaker with the utterance. Lastly, themethod may include removing the associated utterance from the texttranscription of the virtual collaboration session in response toidentifying a specific speaker.

In addition to a computer-implemented method, additional embodiments aredirected to a system and a computer program product for dynamicallyidentifying a shared document.

This Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used as an aid in determining the scope of the claimed subjectmatter.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 depicts a block diagram of internal and external components ofthe computers and servers depicted in FIG. 2 , according to at least oneembodiment.

FIG. 2 depicts a block diagram of a computing environment that may beused for bridging a live blog platform with a virtual collaborationsession, according to an exemplary embodiment.

FIG. 3 depicts a flow chart diagram of a process to reduce bandwidthrequirements of virtual collaboration sessions in accordance with one ormore embodiments.

FIG. 4 depicts a cloud computing environment according to an exemplaryembodiment.

FIG. 5 depicts abstraction model layers according to an exemplaryembodiment.

DETAILED DESCRIPTION

As remote work and global collaboration grow, the use of virtualcollaboration tools over the Internet may become more prevalent. Duringa virtual collaboration session, a presenter may share the screen oftheir computing device and display a presentation that they have createdwith important items or topics that may be represented by various tablesor graphs. In a classroom setting, the presenter or teacher may stand infront of a classroom and write on a surface that may have Internetfunctionality, e.g., a smart board, or on a more traditional surfacesuch as a whiteboard. In such a scenario, students who may be connectedvia the Internet and their mobile device, e.g., smartphone or tablet,may be able to listen to the presentation and interact with thepresenter to have a conversation or take notes. The students in thisscenario may experience an educational environment that resembles anin-person learning environment as much as possible.

However, with the proliferation of remote work and remote learning inmany households, the demands on computing resources and communicationbandwidth may be severe. In many areas that are less developed thanmajor urban centers, the cost of Internet service may be high, or theavailable devices may have limited capability with respect to computingresources such as processor speed or memory or available storage, amongother things. As a result, the bandwidth demands to accommodate everyfamily member's situation may be severe, as each parent may need toconnect to satisfy a work obligation or attend some other onlinefunction and one or more children may need to connect to a classroom forschool. The combined bandwidth may tax what is available in the home,which may have its own constraints based on cost or availability. As aresult, there is a need to reduce this demand and it may be advantageousto provide a method that automatically filters the content that reachesa user and their mobile device. Such a method may improve the experienceof an end user that may have trouble staying connected to a virtualcollaboration session and thus may improve their personal orprofessional productivity. If the method were built into softwareapplications that provide a virtual collaboration experience, thetechnical capability of such a software application may also beimproved.

One technique that may be useful as a solution to the high resourcerequirements of a virtual collaboration session that would notnecessarily affect adversely the quality of the session may be “liveblogging”. In a traditional use of live blogging in a large eventsetting, a person, e.g., a journalist or writer under the auspices of amedia entity, may attend a conference or event, e.g., a technologyconferences or a product launch event or a popular sporting event, andact as a proxy for the public that is not able to attend themselves. Theperson may participate in the conference or event like any otherattendee but, in addition to that role, may also open a chat window thatis connected to an Internet site that is generally available to a largeamount of people who would like to follow the conference or event butcannot attend live. The live attendee may then type out and describewhat is happening in real-time and the online audience may interact withthe live attendee. In addition to the text descriptions, the liveattendee may also selectively insert images or photos into the chatwindow, or perhaps short audio or video clips, to enhance the experiencefor those that cannot attend live. The use of text and only intermittentuse of multimedia such as audio or video may greatly reduce thebandwidth and computing requirements for those users that cannot attendlive, while closely simulating as best as possible the experience ofattending the actual conference or event.

To leverage this live blogging technique, an artificial intelligence(AI) agent may be granted access by a presenter or host of a virtualcollaboration session to connect to the session and create a two-waybridge between the presenter, e.g., in a classroom, and students throughtheir mobile devices. In this scenario, students would then be able toattend the classroom directly over the Internet if they had sufficientbandwidth and computing resources, or though a less resource-intensiveapplication such as an instant messaging or live blogging app, i.e.,software applications that allow real-time chronological display of textmessages, images, and short audio or video clips. This bridging conceptmay allow students who connect through the instant messaging or liveblogging app to follow the spoken presentation through text that may betranscribed and displayed in the chat window of the app using automaticspeech recognition and speech-to-text algorithms. In addition, the usersconnected to the instant messaging or live blog app may see importantdetails via embedded images, voice notes, and video clips that the AIagent may provide by determining key items or topics and insertingadditional content only for those items or topics. It is important tonote, however, that the text transcription may not be a completetransfer of any spoken words in the virtual collaboration session. Forinstance, there may be cross talk in the room or some other audibleinterruption that may be filtered out of the transcription beforepassing to the live blogging platform. It is not required that thetranscription be complete and verbatim, only that it passes an accurateunderstanding of the virtual collaboration session to participants thatmay be connected to the live blog platform instead of directly to thesession.

In addition to the content that may flow from the presenter to theusers, instant messaging or live blog users may also interact by sendingtext messages, voice notes, images, or video clips back to the presentervia the instant messaging or live blog app and forwarded by the AI agentin order to ask questions or demonstrate their understanding. In thisscenario, because the AI agent may act as a normal participant in avirtual collaboration, these activities may occur without the presenterneeding to change anything in how the virtual collaboration session isconducted. The live blogging would be completely handled by the AI agentas a proxy for the remote users, exactly like the person in the aboveexample.

Referring to FIG. 1 , a block diagram is depicted illustrating acomputer system 100 which may be embedded in the host computing device202 or client computing device 210 or client computing device 220depicted in FIG. 2 in accordance with an embodiment. It should beappreciated that FIG. 1 provides only an illustration of oneimplementation and does not imply any limitations with regard to theenvironments in which different embodiments may be implemented. Manymodifications to the depicted environments may be made based on designand implementation requirements.

As shown, a computer system 100 may include a processor unit 102, amemory unit 104, a persistent storage 106, a communications unit 112, aninput/output unit 114, a display 116, and a system bus 110. Computerprograms such as bridge 120 may be typically stored in the persistentstorage 106 until they are needed for execution, at which time theprograms may be brought into the memory unit 104 so that they can bedirectly accessed by the processor unit 102. The processor unit 102 mayselect a part of memory unit 104 to read and/or write by using anaddress that the processor unit 102 may give to the memory unit 104along with a request to read and/or write. Usually, the reading andinterpretation of an encoded instruction at an address may cause theprocessor unit 102 to fetch a subsequent instruction, either at asubsequent address or some other address. The processor unit 102, memoryunit 104, persistent storage 106, communications unit 112, input/outputunit 114, and display 116 may interface with each other through thesystem bus 110.

Examples of computing systems, environments, and/or configurations thatmay be represented by the data processing system 100 include, but arenot limited to, personal computer systems, server computer systems, thinclients, thick clients, hand-held or laptop devices, multiprocessorsystems, microprocessor-based systems, network PCs, minicomputersystems, and distributed cloud computing environments that include anyof the above systems or devices.

Each computing system 100 may also include a communications unit 112such as TCP/IP adapter cards, wireless Wi-Fi interface cards, or 3G or4G wireless interface cards or other wired or wireless communicationlinks. The bridge 120 in a host computing device 202, along with thevirtual collaboration application 206 in the host computing device 202or client computing device 210 and further, the live blog application208 in client computing device 220, may communicate with externalcomputers via a network (for example, the Internet, a local area networkor other wide area network) and respective network adapters orinterfaces, e.g., communications units 112. From the network adapters orinterfaces, the bridge 120 may be loaded into the respective persistentstorage 106.

Referring to FIG. 2 , a block diagram of an environment for conducting avirtual collaboration session is depicted, according to at least oneembodiment. The overall networked computer environment 200 may include ahost computing device 202 and one or more client computing devices,interconnected via a communication network 240. According to at leastone implementation, the networked computer environment 200 may include aplurality of client computing devices, of which only two are shown forillustrative brevity. It should also be noted that the client computingdevices differ only in the specific application that is loaded andrunning to connect to the virtual collaboration session, which isintended to illustrate that in the configuration shown in FIG. 2 , theclients may be separated into two logical subgroups that use the samenetwork, e.g., the Internet, to connect to one another. One logicalsubgroup is represented by the virtual collaboration application 206,which is shown loaded and running on host computing device 202 andclient computing device 210, in which a virtual collaboration sessionmay be conducted as normally understood, that is a host, e.g., hostcomputing device 202, having overall control over the session, includingwhich participants may connect to the session, but any of the devices inthe session may contribute to the virtual meeting session, includingsharing their computer screen or participating in a chat session or anyother features that may be provided in the virtual collaborationsession. While any user that desires to connect to the virtualcollaboration session may do so, users may also opt to connect to thevirtual collaboration session via the bridge 120 and as a member of thesecond logical subgroup. In the second logical subgroup, which isrepresented by the live blog application 208 shown loaded and running onthe host computing device 202 and also client computing device 220,connection to the virtual collaboration session may be achieved throughthe same network 240, but in this case, client computing device 220connects to the live blog application 208 instead of using virtualcollaboration application 206. As an example, client computing device220 may open an instant messaging application or a live blog applicationinstead of a virtual collaboration application 206 that may be directlyconnected to the virtual collaboration session.

The host computing device 202 or client computing device 210 or clientcomputing device 220 may be a mobile device, telephone, personal digitalassistant (PDA), laptop computer, netbook computer, tablet computer,personal computer (PC), a desktop computer, or any programmableelectronic device or any network of programmable electronic devicescapable of hosting and running the virtual collaboration application 206or live blog application 208. As discussed with reference to FIG. 1 ,host computing device 202, client computing device 210 and clientcomputing device 220 may include computing system 100.

The communication network 240 may include various types of communicationnetworks, such as a wide area network (WAN), local area network (LAN), atelecommunication network, a wireless network, a public switched networkand/or a satellite network. The communication network 240 may includeconnections, such as wire, wireless communication links, or fiber opticcables. The network 240 may also include additional hardware not shownsuch as routers, firewalls, switches, gateway computers and/or edgeservers. It may be appreciated that FIG. 2 provides only an illustrationof one implementation and does not imply any limitations with regard tothe environments in which different embodiments may be implemented. Manymodifications to the depicted environments may be made based on designand implementation requirements. Accordingly, the communication network240 may represent any communication pathway between the variouscomponents of the networked computer environment 200.

In the example of FIG. 2 , a virtual collaboration session may alreadyexist or may be initiated by the host computing device, at which pointthe bridge 120 may connect to the session as a regular participant. Itis important to note that while the bridge 120 is shown in FIG. 2 asbeing loaded and running on the host computing device 202, this is not arequirement. One of ordinary skill in the art may recognize that thebridge 120 may be loaded and running in the cloud and provided to thecomputers within the networked computing environment 200 as a service tousers that may wish to connect to a virtual collaboration session usingfewer computing or bandwidth resources. In addition, the bridge 120 maybe loaded and running on a client computing device 210 or clientcomputing device 220 or another computer not shown.

The bridge 120 and its modules may operate in tandem with virtualcollaboration application 206 on the host computing device 202 in theconfiguration shown in FIG. 2 . The bridge 120 and its modules may bediscrete software that is separately loaded into the computing device ormay be embedded within an application running the virtual collaborationsession at the computing device. It will be appreciated by one ofordinary skill in the art that while modules operate at a computingdevice, it is not required that the software is physically loaded orinstalled on the hardware but may be on a server for the virtualcollaboration session. The virtual collaboration session may be fully inthe cloud and hosted by a server that is not shown.

In the example of FIG. 2 , the bridge 120 may capture the audio andvideo elements of the virtual collaboration session using an appropriatedevice and may store a predetermined amount of video frames in a bufferfor potential transmission on-demand to its connected client computingdevices. Similarly, an audio buffer may be used to store a predeterminedamount of the speaker's audio. The bridge 120 may utilize a voicetranscriber in addition to storing the audio itself, which may use anautomatic speech recognition algorithm to identify the speaker and usespeech-to-text to convert the spoken words to text data that may beunderstood by the bridge 120. Either the audio itself or the text dataproduced by the transcriber may be broadcast to client computing devicesby the bridge 120.

The bridge 120 may include a key phrase detection module 122 that mayanalyze the voice transcription from the virtual collaboration sessionusing speech recognition and natural language processing algorithms todetect key phrases that may trigger the transmission of multimedia fromthe presentation in the virtual collaboration session, e.g., an audioclip or a video clip from the respective buffers, or an image taken fromthe video, as will be described further below.

The bridge 120 may also include a key frame detection module 124 thatmay analyze the video from the virtual collaboration session usingobject recognition or other computer vision techniques, which mayinclude supervised machine learning models, to determine whentransmission of multimedia from the presentation, e.g., an audio clip ora video clip from the respective buffers, or an image taken from thevideo, may be appropriate.

Whether the trigger comes from the key phrase detection module 122, andthus through the audio transcription of the virtual collaborationsession, or from the key frame detection module 124, and thus the videoor images of the virtual collaboration session, the bridge 120 maytransmit multimedia, as described above, of the virtual collaborationsession to those client computing devices that connect to the live blogenvironment, e.g., client computing device 220, using the media sendermodule 126.

The host computing device 202 may communicate with the client computingdevice 210, as well as the client computing device 220 that connect tothe live blog platform, via the communication network 240, in accordancewith embodiments of the invention. As will be discussed with referenceto FIGS. 4 and 5 , the virtual collaboration session running on the hostcomputing device 202 and client computing device 210, and in additionthe live blog environment running on the host computing device 202 andclient computing device 220, may also operate in a cloud computingservice model, such as Software as a Service (SaaS), Platform as aService (PaaS), or Infrastructure as a Service (IaaS). The serversrunning the virtual collaboration session on the participating devicesmay also be located in a cloud computing deployment model, such as aprivate cloud, community cloud, public cloud, or hybrid cloud.

Referring to FIG. 3 , an operational flowchart illustrating a process300 to is depicted according to at least one embodiment. At 302, anagent, e.g., bridge 120, may connect as a participant to a virtualcollaboration session and capture virtual collaboration session data.Examples of the session data include audio data captured by a microphoneof any speakers in the session or video data gathered with a camera in aclassroom or other setting if a presenter is using a whiteboard or othermethod of handwriting notes. If an electronic presentation is available,then the agent may extract images of the presentation from a deviceconnected to the presentation, e.g., the screen of the presenter'scomputing device. A virtual collaboration session may be any forum thatconnects one or more participants to each other in a collaborative way,such that topics may be discussed, and audio and video may betransmitted to and received by all participants, along with the otherpotential tools described herein.

It is important to note that any real-time monitoring of a virtualmeeting session as mentioned herein requires the informed consent of allthose people whose audio, video and text conversations are captured foranalysis. Consent may be obtained in real time or through a prior waiveror other process that informs a subject that their voice may be capturedby a microphone or image captured by a camera or other sensitivepersonal data may be gathered through any means and that this data maybe analyzed by any of the many algorithms, including natural languageprocessing, that are mentioned below. A user may opt out of any portionof the real-time monitoring at any time.

At 304, the agent, e.g., bridge 120, may connect to a live blogplatform. As described above, the live blog platform may include aninstant messaging application or a live blogging application or anyapplication that may provide a text window and also file attachments. Itis not required that the agent connect to a specific platform or type ofapplication, the agent may use any online vehicle to allow users toconnect as an alternative to joining the virtual collaboration sessiondirectly. It is only required that the platform be able to accept textmessages, e.g., the text transcription described in 306, and alsomultimedia files as described both in the example of FIG. 2 and in theprocess below. In addition to allowing the bridge 120 to transmit a texttranscription and multimedia files from the virtual collaborationsession, the bridge 120 may monitor the live blog environment and usersthat connect using client computing device 220 and live blog application208 may send text messages to the bridge 120 via live blog application208 and those text messages may be sent to the virtual collaborationsession and viewed by the participants in the session. As an example, astudent may be using a mobile device and connecting to the virtualcollaboration session through the live blog application 208 and bridge120. The student may enter a text question into the chat feature of thelive blog environment and the bridge 120 may forward the text questionto the presenter, where they may read the text and reply as appropriate.

At 306, a text transcription of the virtual collaboration session may begenerated and transmitted to the live blog platform. The texttranscription may be created by scanning the audio data within thevirtual collaboration session using an appropriate speech-to-textalgorithm. Optionally, the raw voice data may be broken into a series ofutterances and the speaker of each utterance may be identified usingautomatic voice recognition. The utterances may then be classifiedaccording to the speaker by associating the utterances with the speaker.This process would allow for the agent to selectively include or excludeutterances based on the associated speaker, which may be useful inreducing the overall bandwidth requirements that may be needed for thesession. For instance, in a classroom lecture setting, it may be usefulto only include transcription of the audio for the teacher who ispresenting the lecture. Any cross talk that may be picked up, orcomments from the audience, may be filtered out so that the live blogenvironment does not receive the added text. Whether or not theadditional step of identifying a speaker and filtering the audio isperformed, the resulting text transcription may be sent via the bridge120 to the live blog platform over the network, as shown using theexample of FIG. 2 .

At 308, topics in the virtual collaboration session may be identified orclassified as important. This may be done using the key phrase detectionmodule 122 or the key frame detection module 124, as mentioned abovewith respect to FIG. 2 . As an example of the key phrase detectionmodule 122, the presenter may speak the words “send video” or “sendaudio”, or some other default predetermined command phrase, to manuallytrigger the bridge 120 to send multimedia to the live blog. In addition,the key phrases may be configured in a profile that is specific to apresenter or they may be manually entered by the presenter before thevirtual collaboration session begins. Alternatively, the key phrasedetection module 122 may listen to the spoken audio from the presenterand determine an intent or meaning in the words to trigger the broadcastof multimedia clips. For example, if the presenter speaks the phrase“This is pronounced . . . ,” it may be determined that an audio clipshould be transmitted to the devices connected to the live blogenvironment, while the phrase “Here is a demonstration . . . ” from thepresenter might trigger a video clip to be sent to the live blog.

In a further example using the key frame detection module 124, it may bedetermined with object recognition that a hand is present in the framefor an extended period of time near a whiteboard, which the module alsomay recognize, in a manner that suggests that the presenter is writingon the whiteboard. Once the hand is removed from the frame, this may bean indication that an image of the whiteboard should be captured andsent by the bridge 120 to the users connected to the live blog. Anotherexample may use screen images that may be presented within the virtualcollaboration session. If a presentation is shared among theparticipants of the virtual collaboration session, an algorithm may beused to detect if the image has changed, indicating a new slide of thepresentation, or character recognition may be used on the image todetermine if there are any key words or phrases on the screen that mayindicate an important item or topic that may require a copy of the imageor a clip of the speaker's audio to be transmitted to the live blog viathe bridge 120. In another embodiment, a gesture or other movement ofthe presenter in the video of the virtual collaboration session may bedetected as an indication to send multimedia to the live blog via thebridge 120. For example, the presenter may make a first to indicate thatvideo should be transmitted. As with the key phrases above, there may bedefault gestures that correspond to certain actions or these gesturesmay be manually set by a presenter in a profile and, in either case, maybe changed at any time.

In addition to the examples cited above with respect to the key phraseand key frame detection modules in the context of FIG. 2 , a chatbotAPI, such as IBM Watson™ Conversations API, may be used to return apredicted “intent”, each representing one of the three media types(images, audio and video). The chatbot may be trained with specificexample phrases that the chatbot may learn to recognize. For example,for the “image” intent, “send image,” “take photo,” “this slide shows .. . ,” “if you look at the . . . ,” etc. could be training data. Also,for the “audio” intent, “send audio,” “The way to pronounce . . . ,”“Listen to this . . . ,” etc. may be the training phrases. Lastly, forthe “video” intent, “send video,” “here is a video . . . ,” “let me showyou . . . ,” etc. may be the training phases. In this model, the chatbotAPI may return the intent represented by the phrase that it may detectin the text transcription, such that if the model returns “video,” thenthat topic may be classified as important but also that a video clipshould be sent. In additional embodiments, this model may also detectadditional words in the command, such as a duration or time, e.g., “send30 second video” may extract a video clip of 30 seconds duration.

In this embodiment, the topic may be classified according to importanceusing a machine learning classification model. One or more of thefollowing machine learning algorithms may be used to classify theevents: logistic regression, naive Bayes, support vector machines,artificial neural networks and random forests. In an embodiment, anensemble learning technique may be employed that uses multiple machinelearning algorithms together to assure better prediction when comparedwith the prediction of a single machine learning algorithm. The resultsof the determination of importance may be stored with the embeddedgraphic as associated metadata.

At 310, as discussed with respect to the media sender module 126 in FIG.2 , a multimedia file may be generated and transmitted by the bridge120. Because of the underlying desire to save bandwidth in using thelive blog environment, the video and audio may be preserved in buffersthat are limited in size and, therefore, the time that may elapsebetween the received trigger and actual transmission of the clip orimage may be limited. The buffers may be configured in length, forinstance, “only save 10 minutes or audio or video” for transmission tothe devices connected in the live blog environment. In addition, indetermining when to send multimedia to the connected live blog clients,there may be a rate limiting function applied by the media sender module126 such that multimedia of the virtual collaboration session cannot besent too frequently, thus preserving bandwidth. This rate limitingfunction may also keep a memory of images sent by the bridge 120 anddetermine, using any of the computer vision techniques described above,if there is a sufficient difference between the current image and theprior image. If there is not a sufficient difference, transmission ofmultimedia may be canceled by this function. As another example, theconnection speed, i.e., the available bandwidth, may be measured by thebridge 120 and transmission of multimedia may be restricted as long asthe speed available is not above a predetermined threshold. Thethreshold may be predetermined and dynamically adjusted as needed. Sucha threshold may be used for each specific user that may be connected tothe bridge or may be a general threshold for all users connected to thevirtual collaboration session through the bridge. The threshold may alsobe manually adjusted as a setting at any time at the user's discretion.

At 312, after a multimedia file has been sent, it may be determinedwhether the virtual collaboration session is still active and has usersstill connected. If the session has ended, then the bridge 120 maydisconnect from the session and the live blog platform that has been setup with the live blog application 208 and may alert the live blogplatform, and therefore those users that connected to the sessionthrough the live blog application 208, that the session has ended.However, an alert may not be required, and users may disconnectseparately. If the session has not ended, then the process may move backto step 306 and the text transcription of the virtual collaborationsession may continue as before.

It is to be understood that although this disclosure includes a detaileddescription on cloud computing, implementation of the teachings recitedherein are not limited to a cloud computing environment. Rather,embodiments of the present invention are capable of being implemented inconjunction with any other type of computing environment now known orlater developed.

Cloud computing is a model of service delivery for enabling convenient,on-demand network access to a shared pool of configurable computingresources (e.g., networks, network bandwidth, servers, processing,memory, storage, applications, virtual machines, and services) that canbe rapidly provisioned and released with minimal management effort orinteraction with a provider of the service. This cloud model may includeat least five characteristics, at least three service models, and atleast four deployment models.

Characteristics are as follows:

On-demand self-service: a cloud consumer can unilaterally provisioncomputing capabilities, such as server time and network storage, asneeded automatically without requiring human interaction with theservice's provider.

Broad network access: capabilities are available over a network andaccessed through standard mechanisms that promote use by heterogeneousthin or thick client platforms (e.g., mobile phones, laptops, and PDAs).

Resource pooling: the provider's computing resources are pooled to servemultiple consumers using a multi-tenant model, with different physicaland virtual resources dynamically assigned and reassigned according todemand. There is a sense of location independence in that the consumergenerally has no control or knowledge over the exact location of theprovided resources but may be able to specify location at a higher levelof abstraction (e.g., country, state, or datacenter).

Rapid elasticity: capabilities can be rapidly and elasticallyprovisioned, in some cases automatically, to quickly scale out andrapidly released to quickly scale in. To the consumer, the capabilitiesavailable for provisioning often appear to be unlimited and can bepurchased in any quantity at any time.

Measured service: cloud systems automatically control and optimizeresource use by leveraging a metering capability at some level ofabstraction appropriate to the type of service (e.g., storage,processing, bandwidth, and active user accounts). Resource usage can bemonitored, controlled, and reported, providing transparency for both theprovider and consumer of the utilized service.

Service Models are as follows:

Software as a Service (SaaS): the capability provided to the consumer isto use the provider's applications running on a cloud infrastructure.The applications are accessible from various client devices through athin client interface such as a web browser (e.g., web-based e-mail).The consumer does not manage or control the underlying cloudinfrastructure including network, servers, operating systems, storage,or even individual application capabilities, with the possible exceptionof limited user-specific application configuration settings.

Platform as a Service (PaaS): the capability provided to the consumer isto deploy onto the cloud infrastructure consumer-created or acquiredapplications created using programming languages and tools supported bythe provider. The consumer does not manage or control the underlyingcloud infrastructure including networks, servers, operating systems, orstorage, but has control over the deployed applications and possiblyapplication hosting environment configurations.

Infrastructure as a Service (IaaS): the capability provided to theconsumer is to provision processing, storage, networks, and otherfundamental computing resources where the consumer is able to deploy andrun arbitrary software, which can include operating systems andapplications. The consumer does not manage or control the underlyingcloud infrastructure but has control over operating systems, storage,deployed applications, and possibly limited control of select networkingcomponents (e.g., host firewalls).

Deployment Models are as follows:

Private cloud: the cloud infrastructure is operated solely for anorganization. It may be managed by the organization or a third party andmay exist on-premises or off-premises.

Community cloud: the cloud infrastructure is shared by severalorganizations and supports a specific community that has shared concerns(e.g., mission, security requirements, policy, and complianceconsiderations). It may be managed by the organizations or a third partyand may exist on-premises or off-premises.

Public cloud: the cloud infrastructure is made available to the generalpublic or a large industry group and is owned by an organization sellingcloud services.

Hybrid cloud: the cloud infrastructure is a composition of two or moreclouds (private, community, or public) that remain unique entities butare bound together by standardized or proprietary technology thatenables data and application portability (e.g., cloud bursting forload-balancing between clouds).

A cloud computing environment is service oriented with a focus onstatelessness, low coupling, modularity, and semantic interoperability.At the heart of cloud computing is an infrastructure that includes anetwork of interconnected nodes.

Referring now to FIG. 4 , illustrative cloud computing environment 50 isdepicted. As shown, cloud computing environment 50 includes one or morecloud computing nodes 10 with which local computing devices used bycloud consumers, such as, for example, personal digital assistant (PDA)or cellular telephone 54A, desktop computer 54B, laptop computer 54C,and/or automobile computer system 54N may communicate. Nodes 10 maycommunicate with one another. They may be grouped (not shown) physicallyor virtually, in one or more networks, such as Private, Community,Public, or Hybrid clouds as described hereinabove, or a combinationthereof. This allows cloud computing environment 50 to offerinfrastructure, platforms and/or software as services for which a cloudconsumer does not need to maintain resources on a local computingdevice. It is understood that the types of computing devices 54A-N shownin FIG. 4 are intended to be illustrative only and that computing nodes10 and cloud computing environment 50 can communicate with any type ofcomputerized device over any type of network and/or network addressableconnection (e.g., using a web browser).

Referring now to FIG. 5 , a set of functional abstraction layersprovided by cloud computing environment 50 (FIG. 4 ) is shown. It shouldbe understood in advance that the components, layers, and functionsshown in FIG. 5 are intended to be illustrative only and embodiments ofthe invention are not limited thereto. As depicted, the following layersand corresponding functions are provided:

Hardware and software layer 60 includes hardware and softwarecomponents. Examples of hardware components include: mainframes 61; RISC(Reduced Instruction Set Computer) architecture based servers 62;servers 63; blade servers 64; storage devices 65; and networks andnetworking components 66, such as a load balancer. In some embodiments,software components include network application server software 67 anddatabase software 68.

Virtualization layer 70 provides an abstraction layer from which thefollowing examples of virtual entities may be provided: virtual servers71; virtual storage 72; virtual networks 73, including virtual privatenetworks; virtual applications and operating systems 74; and virtualclients 75.

In one example, management layer 80 may provide the functions describedbelow. Resource provisioning 81 provides dynamic procurement ofcomputing resources and other resources that are utilized to performtasks within the cloud computing environment. Metering and Pricing 82provide cost tracking as resources are utilized within the cloudcomputing environment, and billing or invoicing for consumption of theseresources. In one example, these resources may include applicationsoftware licenses. Security provides identity verification for cloudconsumers and tasks, as well as protection for data and other resources.User portal 83 provides access to the cloud computing environment forconsumers and system administrators. Service level management 84provides cloud computing resource allocation and management such thatrequired service levels are met. Service Level Agreement (SLA) planningand fulfillment 85 provide pre-arrangement for, and procurement of,cloud computing resources for which a future requirement is anticipatedin accordance with an SLA.

Workloads layer 90 provides examples of functionality for which thecloud computing environment may be utilized. Examples of workloads andfunctions which may be provided from this layer include mapping andnavigation 91; software development and lifecycle management 92; virtualclassroom education delivery 93; data analytics processing 94;transaction processing 95; and bridging live blog platforms with virtualcollaboration sessions 96. Bridging live blog platforms with virtualcollaboration sessions may describe connecting to a virtualcollaboration session and providing the contents to a live blog platformwhile making decisions to reduce bandwidth demands on the users of thelive blog platform.

The present invention may be a system, a method, and/or a computerprogram product at any possible technical detail level of integration.The computer program product may include a computer readable storagemedium (or media) having computer readable program instructions thereonfor causing a processor to carry out aspects of the present invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, configuration data for integrated circuitry, oreither source code or object code written in any combination of one ormore programming languages, including an object oriented programminglanguage such as Smalltalk, C++, or the like, and procedural programminglanguages, such as the “C” programming language or similar programminglanguages. The computer readable program instructions may executeentirely on the user's computer, partly on the user's computer, as astand-alone software package, partly on the user's computer and partlyon a remote computer or entirely on the remote computer or server. Inthe latter scenario, the remote computer may be connected to the user'scomputer through any type of network, including a local area network(LAN) or a wide area network (WAN), or the connection may be made to anexternal computer (for example, through the Internet using an InternetService Provider). In some embodiments, electronic circuitry including,for example, programmable logic circuitry, field-programmable gatearrays (FPGA), or programmable logic arrays (PLA) may execute thecomputer readable program instructions by utilizing state information ofthe computer readable program instructions to personalize the electroniccircuitry, in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a computer, or other programmable data processing apparatusto produce a machine, such that the instructions, which execute via theprocessor of the computer or other programmable data processingapparatus, create means for implementing the functions/acts specified inthe flowchart and/or block diagram block or blocks. These computerreadable program instructions may also be stored in a computer readablestorage medium that can direct a computer, a programmable dataprocessing apparatus, and/or other devices to function in a particularmanner, such that the computer readable storage medium havinginstructions stored therein comprises an article of manufactureincluding instructions which implement aspects of the function/actspecified in the flowchart and/or block diagram block or blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the blocks may occur out of theorder noted in the Figures. For example, two blocks shown in successionmay, in fact, be accomplished as one step, executed concurrently,substantially concurrently, in a partially or wholly temporallyoverlapping manner, or the blocks may sometimes be executed in thereverse order, depending upon the functionality involved. It will alsobe noted that each block of the block diagrams and/or flowchartillustration, and combinations of blocks in the block diagrams and/orflowchart illustration, can be implemented by special purposehardware-based systems that perform the specified functions or acts orcarry out combinations of special purpose hardware and computerinstructions.

The descriptions of the various embodiments of the present inventionhave been presented for purposes of illustration but are not intended tobe exhaustive or limited to the embodiments disclosed. Manymodifications and variations will be apparent to those of ordinary skillin the art without departing from the scope and spirit of the describedembodiments. The terminology used herein was chosen to best explain theprinciples of the embodiments, the practical application or technicalimprovement over technologies found in the marketplace, or to enableothers of ordinary skill in the art to understand the embodimentsdisclosed herein.

What is claimed is:
 1. A computer-implemented method for reducingbandwidth requirements of a virtual collaboration session, the methodcomprising: connecting to both the virtual collaboration session as aparticipant and a live blog platform, wherein the virtual collaborationsession also includes a host computing device; capturing session datafrom the virtual collaboration session, wherein the session data isselected from a group consisting of: video data, audio data, text dataand a screen image of the host computing device; generating a texttranscription of the virtual collaboration session from the audio dataand transmitting the text transcription of the virtual collaborationsession to the live blog platform; identifying an important topic in thevirtual collaboration session based on the session data, wherein theimportant topic in the virtual collaboration session indicates arequirement for related session data in addition to the texttranscription; and generating a multimedia file by extracting therelated session data from the session data and transmitting themultimedia file to the live blog platform.
 2. The computer-implementedmethod of claim 1, further comprising, in response to receiving textmessages from the live blog platform, transmitting the text messages tothe virtual collaboration session.
 3. The computer-implemented method ofclaim 1, wherein the identifying the important topic further comprises:identifying specific phrases in the text transcription being transmittedto the live blog platform using a natural language processing algorithm;and identifying the important topic based on the specific phrases. 4.The computer-implemented method of claim 1, wherein the identifying theimportant topic further comprises: extracting a video frame from thesession data; identifying specific objects in the video frame using anobject recognition algorithm; and identifying the important topic basedon the specific objects.
 5. The computer-implemented method of claim 1,wherein the transmitting the multimedia file to the live blog platformfurther comprises: determining a connection speed from the virtualcollaboration session to the live blog platform; and in response to theconnection speed being above a threshold, transmitting the multimediafile.
 6. The computer-implemented method of claim 1, wherein thetransmitting the multimedia file to the live blog platform furthercomprises: determining a difference between the multimedia file and aprior multimedia file by comparing video frames from the multimedia fileto prior video frames from the prior multimedia file; and in response tothe difference being above a threshold, transmitting the multimedia fileto the live blog platform.
 7. The computer-implemented method of claim1, wherein the generating the text transcription of the virtualcollaboration session further comprises: identifying a plurality ofutterances in the audio data of the virtual collaboration session and aspeaker for each utterance; associating the speaker for an utterancewith the utterance; and removing the utterance from the texttranscription of the virtual collaboration session based on the speaker.8. A computer system for reducing bandwidth requirements of a virtualcollaboration session, the system comprising: one or more processors,one or more computer-readable memories, one or more computer-readabletangible storage media, and program instructions stored on at least oneof the one or more tangible storage media for execution by at least oneof the one or more processors via at least one of the one or morememories, wherein the computer system is capable of performing a methodcomprising: connecting to both the virtual collaboration session as aparticipant and a live blog platform, wherein the virtual collaborationsession also includes a host computing device: capturing session datafrom the virtual collaboration session, wherein the session data isselected from a group consisting of: video data, audio data, text dataand a screen image of the host computing device; generating a texttranscription of the virtual collaboration session from the audio dataand transmitting the text transcription of the virtual collaborationsession to the live blog platform; identifying an important topic in thevirtual collaboration session based on the session data, wherein theimportant topic in the virtual collaboration session indicates arequirement for related session data in addition to the texttranscription; and generating a multimedia file by extracting therelated session data from the session data and transmitting themultimedia file to the live blog platform.
 9. The computer system ofclaim 8, further comprising, in response to receiving text messages fromthe live blog platform, transmitting the text messages to the virtualcollaboration session.
 10. The computer system of claim 8, wherein theidentifying the important topic further comprises: identifying specificphrases in the text transcription being transmitted to the live blogplatform using a natural language processing algorithm; and identifyingthe important topic based on the specific phrases.
 11. The computersystem of claim 8, wherein the identifying the important topic furthercomprises: extracting a video frame from the session data; identifyingspecific objects in the video frame using an object recognitionalgorithm; and identifying the important topic based on the specificobjects.
 12. The computer system of claim 8, wherein the transmittingthe multimedia file to the live blog platform further comprises:determining a connection speed from the virtual collaboration session tothe live blog platform; and in response to the connection speed beingabove a threshold, transmitting the multimedia file.
 13. The computersystem of claim 8, wherein the transmitting the multimedia file to thelive blog platform further comprises: determining a difference betweenthe multimedia file and a prior multimedia file by comparing videoframes from the multimedia file to prior video frames from the priormultimedia file; and in response to the difference being above athreshold, transmitting the multimedia file to the live blog platform.14. The computer system of claim 8, wherein the generating the texttranscription of the virtual collaboration session further comprises:identifying a plurality of utterances in the audio data of the virtualcollaboration session and a speaker for each utterance; associating thespeaker for an utterance with the utterance; and removing the utterancefrom the text transcription of the virtual collaboration session basedon the speaker.
 15. A computer program product for reducing bandwidthrequirements of a virtual collaboration session, the computer programproduct comprising: a computer readable storage medium having programinstructions embodied therewith, the program instructions executable bya processor to cause the processor to perform a method comprising:connecting to both the virtual collaboration session as a participantand a live blog platform, wherein the virtual collaboration session alsoincludes a host computing device: capturing session data from thevirtual collaboration session, wherein the session data is selected froma group consisting of: video data, audio data, text data and a screenimage of the host computing device; generating a text transcription ofthe virtual collaboration session from the audio data and transmittingthe text transcription of the virtual collaboration session to the liveblog platform; identifying an important topic in the virtualcollaboration session based on the session data, wherein the importanttopic in the virtual collaboration session indicates a requirement forrelated session data in addition to the text transcription; andgenerating a multimedia file by extracting the related session data fromthe session data and transmitting the multimedia file to the live blogplatform.
 16. The computer program product of claim 15, wherein theidentifying the important topic further comprises: identifying specificphrases in the text transcription being transmitted to the live blogplatform using a natural language processing algorithm; and identifyingthe important topic based on the specific phrases.
 17. The computerprogram product of claim 15, wherein the identifying the important topicfurther comprises: extracting a video frame from the session data;identifying specific objects in the video frame using an objectrecognition algorithm; and identifying the important topic based on thespecific objects.
 18. The computer program product of claim 15, whereinthe transmitting the multimedia file to the live blog platform furthercomprises: determining a connection speed from the virtual collaborationsession to the live blog platform; and in response to the connectionspeed being above a threshold, transmitting the multimedia file.
 19. Thecomputer program product of claim 15, wherein the transmitting themultimedia file to the live blog platform further comprises: determininga difference between the multimedia file and a prior multimedia file bycomparing video frames from the multimedia file to prior video framesfrom the prior multimedia file; and in response to the difference beingabove a threshold, transmitting the multimedia file to the live blogplatform.
 20. The computer program product of claim 15, wherein thegenerating the text transcription of the virtual collaboration sessionfurther comprises: identifying a plurality of utterances in the audiodata of the virtual collaboration session and a speaker for eachutterance; associating the speaker for an utterance with the utterance;and removing the utterance from the text transcription of the virtualcollaboration session based on the speaker.